<!-- HTML header for doxygen 1.8.13-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>(abstraction-rtos)</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen_style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><a href="http://www.cypress.com/"><img alt="Logo" src="logo.png"/></a></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">(abstraction-rtos)</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search",'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('group__group__abstraction__rtos__common.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#groups">API Reference</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle"><div class="title">Common</div></div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">General Description</h2>
<p >General types and defines for working with the RTOS abstraction layer. </p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="groups" name="groups"></a>
API Reference</h2></td></tr>
<tr class="memitem:group__group__abstraction__rtos__port"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__abstraction__rtos__port.html">RTOS Specific Types and Defines</a></td></tr>
<tr class="memdesc:group__group__abstraction__rtos__port"><td class="mdescLeft">&#160;</td><td class="mdescRight">The following defines and types have values that are specific to each RTOS port. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga3139176b7294e8b283d4f8b56dea3e54"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__group__abstraction__rtos__port.html#ga0161131d68376463dd91d0a2dfc39c60">cy_rtos_error_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__abstraction__rtos__common.html#ga3139176b7294e8b283d4f8b56dea3e54">cy_rtos_last_error</a> (void)</td></tr>
<tr class="memdesc:ga3139176b7294e8b283d4f8b56dea3e54"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the last error from the RTOS.  <a href="group__group__abstraction__rtos__common.html#ga3139176b7294e8b283d4f8b56dea3e54">More...</a><br /></td></tr>
<tr class="separator:ga3139176b7294e8b283d4f8b56dea3e54"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf58fac450d9fff4472f03ad68f6e546e"><td class="memItemLeft" align="right" valign="top"><a id="gaf58fac450d9fff4472f03ad68f6e546e" name="gaf58fac450d9fff4472f03ad68f6e546e"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CY_RSLT_SUCCESS</b>&#160;&#160;&#160;((cy_rslt_t)0x00000000U)</td></tr>
<tr class="memdesc:gaf58fac450d9fff4472f03ad68f6e546e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return value indicating success. <br /></td></tr>
<tr class="separator:gaf58fac450d9fff4472f03ad68f6e546e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab31d8535128df9506a4220c2b1f41a60"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__abstraction__rtos__common.html#gab31d8535128df9506a4220c2b1f41a60">CY_RTOS_NEVER_TIMEOUT</a>&#160;&#160;&#160;( (uint32_t)0xffffffffUL )</td></tr>
<tr class="memdesc:gab31d8535128df9506a4220c2b1f41a60"><td class="mdescLeft">&#160;</td><td class="mdescRight">Used with RTOS calls that require a timeout.  <a href="group__group__abstraction__rtos__common.html#gab31d8535128df9506a4220c2b1f41a60">More...</a><br /></td></tr>
<tr class="separator:gab31d8535128df9506a4220c2b1f41a60"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafc6a1c6f563521d6c5555027d5d7bde8"><td class="memItemLeft" align="right" valign="top"><a id="gafc6a1c6f563521d6c5555027d5d7bde8" name="gafc6a1c6f563521d6c5555027d5d7bde8"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CY_RTOS_TIMEOUT</b>&#160;&#160;&#160;    CY_RSLT_CREATE(CY_RSLT_TYPE_ERROR, CY_RSLT_MODULE_ABSTRACTION_OS, 0)</td></tr>
<tr class="memdesc:gafc6a1c6f563521d6c5555027d5d7bde8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Requested operation did not complete in the specified time. <br /></td></tr>
<tr class="separator:gafc6a1c6f563521d6c5555027d5d7bde8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga516d500bef7d6e6291f08485d0bc003b"><td class="memItemLeft" align="right" valign="top"><a id="ga516d500bef7d6e6291f08485d0bc003b" name="ga516d500bef7d6e6291f08485d0bc003b"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CY_RTOS_NO_MEMORY</b>&#160;&#160;&#160;    CY_RSLT_CREATE(CY_RSLT_TYPE_ERROR, CY_RSLT_MODULE_ABSTRACTION_OS, 1)</td></tr>
<tr class="memdesc:ga516d500bef7d6e6291f08485d0bc003b"><td class="mdescLeft">&#160;</td><td class="mdescRight">The RTOS could not allocate memory for the specified operation. <br /></td></tr>
<tr class="separator:ga516d500bef7d6e6291f08485d0bc003b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga89a0a071bd7a41b5d1f3edb969ee1647"><td class="memItemLeft" align="right" valign="top"><a id="ga89a0a071bd7a41b5d1f3edb969ee1647" name="ga89a0a071bd7a41b5d1f3edb969ee1647"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CY_RTOS_GENERAL_ERROR</b>&#160;&#160;&#160;    CY_RSLT_CREATE(CY_RSLT_TYPE_ERROR, CY_RSLT_MODULE_ABSTRACTION_OS, 2)</td></tr>
<tr class="memdesc:ga89a0a071bd7a41b5d1f3edb969ee1647"><td class="mdescLeft">&#160;</td><td class="mdescRight">An error occured in the RTOS. <br /></td></tr>
<tr class="separator:ga89a0a071bd7a41b5d1f3edb969ee1647"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3b106a6fcedd377b05769dbf2b6f97a9"><td class="memItemLeft" align="right" valign="top"><a id="ga3b106a6fcedd377b05769dbf2b6f97a9" name="ga3b106a6fcedd377b05769dbf2b6f97a9"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CY_RTOS_BAD_PARAM</b>&#160;&#160;&#160;    CY_RSLT_CREATE(CY_RSLT_TYPE_ERROR, CY_RSLT_MODULE_ABSTRACTION_OS, 5)</td></tr>
<tr class="memdesc:ga3b106a6fcedd377b05769dbf2b6f97a9"><td class="mdescLeft">&#160;</td><td class="mdescRight">A bad argument was passed into the APIs. <br /></td></tr>
<tr class="separator:ga3b106a6fcedd377b05769dbf2b6f97a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7eac5e076f6f4b70e3478b507a9d90f2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__abstraction__rtos__common.html#ga7eac5e076f6f4b70e3478b507a9d90f2">CY_RTOS_ALIGNMENT_ERROR</a>&#160;&#160;&#160;    CY_RSLT_CREATE(CY_RSLT_TYPE_ERROR, CY_RSLT_MODULE_ABSTRACTION_OS, 6)</td></tr>
<tr class="memdesc:ga7eac5e076f6f4b70e3478b507a9d90f2"><td class="mdescLeft">&#160;</td><td class="mdescRight">A memory alignment issue was detected.  <a href="group__group__abstraction__rtos__common.html#ga7eac5e076f6f4b70e3478b507a9d90f2">More...</a><br /></td></tr>
<tr class="separator:ga7eac5e076f6f4b70e3478b507a9d90f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga02c5dfbf101b3f6dcbe1879466c74a1f"><td class="memItemLeft" align="right" valign="top"><a id="ga02c5dfbf101b3f6dcbe1879466c74a1f" name="ga02c5dfbf101b3f6dcbe1879466c74a1f"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CY_RTOS_UNSUPPORTED</b>&#160;&#160;&#160;    CY_RSLT_CREATE(CY_RSLT_TYPE_ERROR, CY_RSLT_MODULE_ABSTRACTION_OS, 7)</td></tr>
<tr class="memdesc:ga02c5dfbf101b3f6dcbe1879466c74a1f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Requested operation not supported with this RTOS. <br /></td></tr>
<tr class="separator:ga02c5dfbf101b3f6dcbe1879466c74a1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a id="gab31d8535128df9506a4220c2b1f41a60" name="gab31d8535128df9506a4220c2b1f41a60"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gab31d8535128df9506a4220c2b1f41a60">&#9670;&nbsp;</a></span>CY_RTOS_NEVER_TIMEOUT</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CY_RTOS_NEVER_TIMEOUT&#160;&#160;&#160;( (uint32_t)0xffffffffUL )</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Used with RTOS calls that require a timeout. </p>
<p >This implies the call will never timeout. </p>

</div>
</div>
<a id="ga7eac5e076f6f4b70e3478b507a9d90f2" name="ga7eac5e076f6f4b70e3478b507a9d90f2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga7eac5e076f6f4b70e3478b507a9d90f2">&#9670;&nbsp;</a></span>CY_RTOS_ALIGNMENT_ERROR</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CY_RTOS_ALIGNMENT_ERROR&#160;&#160;&#160;    CY_RSLT_CREATE(CY_RSLT_TYPE_ERROR, CY_RSLT_MODULE_ABSTRACTION_OS, 6)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>A memory alignment issue was detected. </p>
<p >Ensure memory provided is aligned per <a class="el" href="group__group__abstraction__rtos__port.html#ga03f4b97a8323f791fe6b8113bac20610">CY_RTOS_ALIGNMENT_MASK</a> </p>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="ga3139176b7294e8b283d4f8b56dea3e54" name="ga3139176b7294e8b283d4f8b56dea3e54"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga3139176b7294e8b283d4f8b56dea3e54">&#9670;&nbsp;</a></span>cy_rtos_last_error()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__group__abstraction__rtos__port.html#ga0161131d68376463dd91d0a2dfc39c60">cy_rtos_error_t</a> cy_rtos_last_error </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Return the last error from the RTOS. </p>
<p >The functions in the RTOS abstraction layer adhere to the Infineon return results calling convention. The underlying RTOS implementations will not but rather will have their own error code conventions. This function is provided as a service to the developer, mostly for debugging, and returns the underlying RTOS error code from the last RTOS abstraction layer that returned <a class="el" href="group__group__abstraction__rtos__common.html#ga89a0a071bd7a41b5d1f3edb969ee1647">CY_RTOS_GENERAL_ERROR</a>.</p>
<dl class="section return"><dt>Returns</dt><dd>RTOS specific error code. </dd></dl>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part
<div id="nav-path" class="navpath">
    <ul>
        <li class="footer">
            Generated for <b>(abstraction-rtos)</b> by <b>Cypress Semiconductor Corporation</b>.
            All rights reserved.
        </li>
    </ul>
</div>
-->
</body>
</html>
